1. Field of the Invention
The present invention relates to client-server applications. More specifically, the present invention relates to a method and an apparatus for facilitating self-tuning traffic shaping without a central traffic manager.
2. Related Art
As web-based services continue to grow, so does the number of requests that each server typically handles in a client-server environment. If more requests are sent to the server than the server can handle, requests will typically time out. Often times, the effect of these timeouts on the entire system is worse than if each client withheld some requests so that the server would not be overloaded.
Many varieties of traffic shapers have been introduced to help optimize the flow of such requests to the server. A typical traffic shaper will not allow requests to be sent to the server at a rate faster than that at which the server can process them. However, forwarding all requests through a traffic shaper can create a bottleneck into the system, and can create a single point of failure.
Another type of traffic shaper uses intra-client communication to enable multiple clients to collaborate with each other while sending requests to the server. These systems can be implemented using various techniques. However, they all typically consume a significant amount of bandwidth and management overhead, which may be scarce in the current environment.